package com.example.campusmanagement.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration // 声明这是一个配置类
public class CorsConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**") // 对所有API路径启用CORS
                .allowedOrigins("http://localhost:8081") // 允许来自 http://localhost:8081 的请求
                // .allowedOrigins("*") // 生产环境不推荐使用，这允许所有源访问，存在安全风险
                .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS") // 允许的HTTP方法，OPTIONS 必须包含！
                .allowedHeaders("*") // 允许所有请求头
                .allowCredentials(true) // 是否允许发送Cookie，Authorization等凭证
                .maxAge(3600); // 预检请求的缓存时间（秒），在此时间内无需再发送预检
    }
}